package vo;

import java.util.Date;
import java.util.List;

import controlador.ControladorPrincipal;

import negocio.Cliente;
import negocio.Empresa;
import negocio.Localidad;

public class EmpresaVO {


	private int codigoEmpresa;
	private String razonSocial;
	private String domicilio;
	private String localidad;
	private String paginaWeb;
	private String email;
	private Date fechaAlta;
	private String telefono;
	private String fax;
	private String direccionComercial;
	private String tipoFactura;
	private String observaciones;
	private String cuit;
	private Date fechaInhabilitacion;
	private String tipoEmpresa;
	private int diaConcicliacion ;
	
	public EmpresaVO(){}
	
	public EmpresaVO(Empresa empresa){
		this.codigoEmpresa = empresa.getCodigoEmpresa();
		this.razonSocial = empresa.getRazonSocial();
		this.domicilio = empresa.getDomicilio();
		this.localidad = empresa.getLocalidad().getNombreLocalidad();
		this.paginaWeb = empresa.getPaginaWeb();
		this.email = empresa.getEmail();
		this.fechaAlta = empresa.getFechaAlta();
		this.telefono = empresa.getTelefono();
		this.fax = empresa.getFax();
		this.direccionComercial = empresa.getDireccionComercial();
		this.tipoFactura = empresa.getTipoFactura();
		this.observaciones = empresa.getObservaciones();
		this.cuit = empresa.getCuit();
		this.fechaInhabilitacion = empresa.getFechaInhabilitacion();
		
		if (empresa instanceof  Cliente){
			this.tipoEmpresa = "CLIENTE";
			this.diaConcicliacion = ((Cliente)empresa).getDiaConcicliacion();
		} else {
			this.tipoEmpresa = "CARRIER";
		}
	}
	
	public int getCodigoEmpresa() {
		return codigoEmpresa;
	}
	public void setCodigoEmpresa(int codigoEmpresa) {
		this.codigoEmpresa = codigoEmpresa;
	}
	public String getRazonSocial() {
		return razonSocial;
	}
	public void setRazonSocial(String razonSocial) {
		this.razonSocial = razonSocial;
	}
	public String getDomicilio() {
		return domicilio;
	}
	public void setDomicilio(String domicilio) {
		this.domicilio = domicilio;
	}
	public String getLocalidad() {
		return localidad;
	}
	public void setLocalidad(String localidad) {
		this.localidad = localidad;
	}
	public String getPaginaWeb() {
		return paginaWeb;
	}
	public void setPaginaWeb(String paginaWeb) {
		this.paginaWeb = paginaWeb;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Date getFechaAlta() {
		return fechaAlta;
	}
	public void setFechaAlta(Date fechaAlta) {
		this.fechaAlta = fechaAlta;
	}
	public String getTelefono() {
		return telefono;
	}
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	public String getFax() {
		return fax;
	}
	public void setFax(String fax) {
		this.fax = fax;
	}
	public String getDireccionComercial() {
		return direccionComercial;
	}
	public void setDireccionComercial(String direccionComercial) {
		this.direccionComercial = direccionComercial;
	}
	public String getTipoFactura() {
		return tipoFactura;
	}
	public void setTipoFactura(String tipoFactura) {
		this.tipoFactura = tipoFactura;
	}
	public String getObservaciones() {
		return observaciones;
	}
	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}
	public String getCuit() {
		return cuit;
	}
	public void setCuit(String cuit) {
		this.cuit = cuit;
	}
	public Date getFechaInhabilitacion() {
		return fechaInhabilitacion;
	}
	public void setFechaInhabilitacion(Date fechaInhabilitacion) {
		this.fechaInhabilitacion = fechaInhabilitacion;
	}

	public void setTipoEmpresa(String tipoEmpresa) {
		this.tipoEmpresa = tipoEmpresa;
	}

	public String getTipoEmpresa() {
		return tipoEmpresa;
	}

	public void setDiaConcicliacion(int diaConcicliacion) {
		this.diaConcicliacion = diaConcicliacion;
	}

	public int getDiaConcicliacion() {
		return diaConcicliacion;
	}

	public List<CampaniaVO> getCampanias() throws Exception {
		// TODO Auto-generated method stub
//		List<CampaniaVO> campanias = ControladorPrincipal.getInstance().getIControladorABMEmpresas().getCampaniasVO(this);
		return ControladorPrincipal.getInstance().getIControladorABMEmpresas().getCampaniasVO(this);
	}

	
}
